-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tests: use toml for tox #17
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Henry Schreiner <[email protected]>
base = ["tool.tox.env.mypy"] | ||
|
||
[tool.tox.env.mypy-py313] | ||
base = ["env.mypy"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, by the way, either seems to work, was testing. The config will show the full section name, tool.tox.env.mypy
.
I want to get a chance to play with this before approving/merging, which realistically means a couple of weeks wait time as I'm not really available right now. I hope that's okay. Having worked through the conversion, do you see major benefits to the new TOML syntax other than having everything embedded in the pyproject file? i.e. If this were a conversion to tox.toml, what would the benefits of the new format be? I ask because I've seen the new TOML support in tox docs and have been wondering about why I should (or shouldn't) convert. It looks like it's easier from the maintainer side, but ini support isn't going away (at least not soon?), so I'm not clear on the user benefits. |
No rush at all, or even expectation that it is merged, I mostly wanted to learn the new TOML configuration. I'm personally fond of fewer top-level files, since they push the readme down on the page and make the repo appear more complex. It's also rather similar to uv and hatch, which can be configured in pyproject.toml too. But tox is a pretty good candidate for a top level file, so tox.toml is fine too, I think it's still a small improvement. The main features so far are:
(Personally, I'm still a fan of nox, and only use tox on a few projects - mostly ones that also have a tox maintainer too. ;) ) |
It took more than a hot second for me to get the kind of free time to toy with this! But I've now gotten an hour or two to try it out. I'm still on the fence about making this change, but I now have more informed thoughts, so I've definitely gotten value from this exploration.
In principle, I'm in favor of trying new things, and being willing to revert if we find they don't work or we don't like them.1 But I can't deny that I'm not loving the new config, at least not yet. I have three ideas for paths that I would take for this config:
(1) and (3) are sort of obvious. (2) is a middle-ground. I'm going to take some time to try to decide which of these I like best, and I'm open to any more info or thoughts which might help make the choice. Footnotes
|
I am trying the (fairly) new native TOML support for tox here. I've not used it before, and got some help from the Tox discord (thanks to @gaborbernat!). Currently, you pretty much have to have 4.22+ to use it; tox-dev/tox#3402 would allow a workaround for (somewhat) older tox's.
Thoughts?
📚 Documentation preview 📚: https://dependency-groups--17.org.readthedocs.build/en/17/